﻿using Basic.FlowModel.DB;
using Basic.FlowModel.EventTemplate;
using Basic.FlowRemoteModel.EventTemplate.Model;
using WeDonekRpc.Model;

namespace Basic.FlowCollect
{
    public interface IEventTemplateCollect
    {
        long Add ( EventTemplateAdd add );
        void Delete ( DBFlowEventTemplate source );
        bool Disable ( DBFlowEventTemplate source );
        bool Enable ( DBFlowEventTemplate source );
        DBFlowEventTemplate Get ( long id );
        Result Get<Result> ( long id ) where Result : class, new();
        EventDto GetEvent ( long evId );
        Dictionary<long, string> GetNames ( long[] ids );
        Result[] Gets<Result> () where Result : class, new();
        Result[] Query<Result> ( InterQueryParam query, IBasicPage paging, out int count ) where Result : class;
        bool Set ( DBFlowEventTemplate source, EventTemplateSet set );
    }
}